package persistence.transferPOJOs;

import java.sql.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import utils.ServletUtilities;



public class Kommentar implements java.io.Serializable 
{
	private int id;
	private String autorEmail;
	private Date zeitpunkt;
	private double bewertung;
	private String text;
	private String referenzUserEmail;
	private int referenzPID;

	
	public Kommentar(int id, String autorEmail, Date zeitpunkt, double bewertung, String text, String referenzUserEmail, int referenzPID)
	{
		super();
		this.id = id;
		this.autorEmail = autorEmail;
		this.zeitpunkt = zeitpunkt;
		this.bewertung = bewertung;
		this.text = text;
		this.referenzUserEmail = referenzUserEmail;
		this.referenzPID = referenzPID;
	}


	public int getId() {
		return id;
	}


	public void setId(int id) {
		this.id = id;
	}


	public String getAutorEmail() {
		return autorEmail;
	}


	public void setAutorEmail(String autorEmail) {
		this.autorEmail = autorEmail;
	}


	public Date getZeitpunkt() {
		return zeitpunkt;
	}


	public void setZeitpunkt(Date zeitpunkt) {
		this.zeitpunkt = zeitpunkt;
	}


	public double getBewertung() {
		return bewertung;
	}


	public void setBewertung(double bewertung) {
		this.bewertung = bewertung;
	}


	public String getText() {
		return text;
	}


	public void setText(String text) {
		this.text = text;
	}


	public String getReferenzUserEmail() {
		return referenzUserEmail;
	}


	public void setReferenzUserEmail(String referenzUserEmail) {
		this.referenzUserEmail = referenzUserEmail;
	}


	public int getReferenzPID() {
		return referenzPID;
	}


	public void setReferenzPID(int referenzPID) {
		this.referenzPID = referenzPID;
	}


	@Override
	public String toString() {
		return "Kommentar [id=" + id + ", autorEmail=" + autorEmail
				+ ", zeitpunkt=" + zeitpunkt + ", bewertung=" + bewertung
				+ ", text=" + text + ", referenzUserEmail=" + referenzUserEmail
				+ ", referenzPID=" + referenzPID + "]";
	}

	/**
	 * Generiert aus Formulardaten eine Kommentarinstanz.
	 * @param produktID
	 * @param request
	 * @param response
	 * @return Kommentarinstanz aus Formulardaten.
	 */
	public static Kommentar createKommentarFromFormData(String authorEmail, HttpServletRequest request, HttpServletResponse response) 
	{
		Date zeitpunkt				= new Date(new java.util.Date().getTime()); 
		double bewertung			= ServletUtilities.getDoubleParameter(request, "bewertung", 1);
		System.out.println("createKommentar_bewertung: " + bewertung);
		String text					= request.getParameter("text");
		String referenz_userEmail	= request.getParameter("email");
		int referenz_PID			= ServletUtilities.getIntParameter(request, "PID", -1);
		
		return new Kommentar(-1, authorEmail, zeitpunkt, bewertung, text, referenz_userEmail, referenz_PID);
	}
}	